﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace LinkyPOS.Class
{
    class webdata:lisanslama
    {

        // tum webservisleri ile iletilecek datalar bu sinif uzerinden cevap bulacak
        public string imza { get; set; }


        // dunku kasayi sisteme aktarma{ bu metod ile dune ait kasanin son bilgisini web ortaminda kapanmis kasaraporlari tablosuna aktariyoruz}
        public webdata() // yapici metod calistirilidiginda sistem regeditten imzasini kopyalar islemleri bu imza ile yapacaktir
        {
            imza = anakartno;

        }

        public void kapankasaaktar() 
        { 
          //datalar formdan cekilecek versyon kontrolu yapilacak 
          //bu tarihe ait masraflarda burada sisteme yuklenecek anlik masraf detayi verilmeyecek
          //api komutu buraya yazialacak

        }

        // anlik kasabilgisi gonder {bu metod ile anlik kasa bilgisi gonderilecektir en son siparisin dahil olabilmesi icin termal ciktilardan hemen sonta yapilmalidir}

        public void anlikkasaraporu()
        {
            kasa k = new kasa();
            k.toplamparcasayisi(DateTime.Now);
            k.toplamsiparissayisi(DateTime.Now);
            k.Gunlukhasilatgetir(DateTime.Now);
            k.yeninakitbul(DateTime.Now);
            k.yenivisabul(DateTime.Now);
            k.eskinakitbul(DateTime.Now);
            k.eskivisabul(DateTime.Now);
            k.GunlukCariGetir(DateTime.Now);
            k.ToplamCarigetir();
            k.Gunlukmasrafgetir();

            // API ile gonderilecek dataalr assagidadir
            // k.Toplamparca.ToString();
            // k.Toplammusteri.ToString();
            // k.Genelcari.ToString();
            // k.Gunlukmasraflar.ToString();
            // k.Yenivisa.ToString();
            // k.Yeninakit.ToString();
            // k.Gunlukhasilat.ToString();
            // k.Gunlukcari.ToString();
            // k.Eskivisa.ToString();
            // k.Eskinakit.ToString();
            // ((k.Yeninakit + k.Eskinakit) - k.Gunlukmasraflar).ToString();
            // (k.Eskivisa + k.Yenivisa).ToString();
            
            // api komutu buraya yazilacak
        
        }


        // bu metod guncellenen terminalleri sistem ile senkronize edecek metoddur ve kemik deger tasir
        public void senkronize()
        {
        // sonkronizasyon kontrolunu databaseden yapmali anakart numarasina gore senkronizasyon yapacak burada sistem bilgisayar degitirdiginde problem olacagi icin 

        // senkronizasyon talebi webden iletilmelidir

        // senkronize basliklari
        // gecmise ait tum masraf raporlarini sisteme yazacak


        // gecamise ait tum kasa raporlarini sisteme yazacak
        // gecmise ait tum iptalleri sisteme yazacak
        // gecmise ait tum iskontolulari sisteme yazacak
        
        }

        public void iptaller()  // bu metodla o gun yapilan iptalleri sisteme atayacaktir bir fis iptal edildi[inde tetiklenmelidir
        { }

        public void masraflar()
        {
         
        }
        public void iskontolu_siparisler(string siparisno, string musteribilgileri, string musteritel, string toplamtutar, string toplamparca) // iskontolu siparisler bu metod ile gonderilir eger bir siparis iskontolu yapilmis ise  islem tetiklenir
        {
           

        }

    
        public void cari_hesaplar()  // tum cari hesaplar buradan takip edilir cari hesap tipinde bir kayit eklendi[inde metod tetiklenir burada cari hesap veri butunlugu icermelidir bu sepepten cari kayit datalari genel sistemden acilir ve teminallere push edilir bunun icin wcf surekli kontrol yapacaktir ayrica senkronizasyon isleminde cari kayit senkronizasyonuda yapilmalidir
        { 
         
        
        }

        public void carikayitlistesi() // bumetod ile cari kayit listesi serverdan cekilecekh
        { 
        // tum cari kayitlar genel sistemde olacak boylece  CARI kod ile turetilecek burada otomatik iskonto ve bakiye ozelligi yapilacak
        // 
        }

        public void ftp_backup() // tum veri tabanlari islemleri duzenli olarak ftp ile genel merkeze yedeklenecek
        { 
         
        }

        public void musteri_data_transfer()  // bu metod ile musteri numaralarina mesaj gonderme hizmeti saglanacaktir
        { 
        

        }

        

    }
}
